This notebook was written for the AWEAR Case Studies as part of a PhD project on Engineering Systems Design in Healthcare at the Engineering Systems Division, DTU Management, in collaboration with Rigshospitalet-Glostrup.

The purpose of this notebook is to provide regular reports on the data being recorded from study participants, to check that it is being recorded and looks as expected. The R script imports, tests and plots data from a specified participant and timeframe, as shown in the code and output below.

Report subject and period:

This report is for user  P13NB for the time period from  2018-04-25  to  2018-05-09

Import and restructure data:

Overview of available csv files and their current use status:

File Description Status
“activity.csv” coded activity types in use
“battery.csv” charging log in use
“bluetooth.csv” - not in use
“calllog.csv” log of phonecalls not in use
“experience_sampling.csv” answers to daily self-reports in use
“hardware_info.csv” - not in use
“location.csv” GPS data from watch and phone in use
“screen.csv” screen on/off transitions (phone) in use
“sms.csv” sms log not in use
“step_count.csv” step counts from watch and phone in use
“wearable.csv” - no longer in use
“wifi.csv” - not in use

The output below confirms which files have been imported, followed by processing steps.

activity file imported
battery file imported
calllog file imported
experience_sampling file imported
location file imported
screen file imported
sms file imported
step_count file imported

 *** 
 Processing file containing:  activity confidence 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'label' created describing activity based on activity code 
Complete: activity data reduced from  8245  to  3526  rows by keeping only the max-confidence activities for each unique timestamp 

 *** 
 Processing file containing:  plugged status level 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'mode' created describing charging status based on 'plugged' variable 

 *** 
 Processing file containing:  name number type duration 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  question_id answer 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  lat lon accuracy provider 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  screen_on 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  address body type read 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  step_count 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

Quality check: data source

Check whether data coming from watch, phone or both (also gives date of last reading).

Data in  activity comes from  phone 
Last reading in activity is on [1] "2018-05-07 03:38:31 CEST" 

Data in  battery comes from  phone 
Last reading in battery is on [1] "2018-05-07 03:38:31 CEST" 

Data in  experience_sampling comes from  phone 
Last reading in experience_sampling is on [1] "2018-05-06 20:10:41 CEST" 

Data in  location comes from  phone watch 
Last reading in location is on [1] "2018-05-07 03:43:03 CEST" 

Data in  screen comes from  phone 
Last reading in screen is on [1] "2018-05-07 02:48:58 CEST" 

Data in  step_count comes from  watch phone 
Last reading in step_count is on [1] "2018-05-07 03:38:31 CEST" 

Visualise data:

LS0tDQp0aXRsZTogJ0FXRUFSIFN0dWRpZXM6IERhdGEgQ2hlY2tlcicNCmF1dGhvcjogJ0p1bGlhIFRob3JwZScNCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQo8IS0tIENvZGUgYmFzZWQgb24gRGF0YUNoZWNrZXJfbWFpbl92Ml8yMDE4MDIyMC5SLiAtLT4NCg0KVGhpcyBub3RlYm9vayB3YXMgd3JpdHRlbiBmb3IgdGhlIEFXRUFSIENhc2UgU3R1ZGllcyBhcyBwYXJ0IG9mIGEgUGhEIHByb2plY3Qgb24gKkVuZ2luZWVyaW5nIFN5c3RlbXMgRGVzaWduIGluIEhlYWx0aGNhcmUqIGF0IHRoZSBFbmdpbmVlcmluZyBTeXN0ZW1zIERpdmlzaW9uLCBEVFUgTWFuYWdlbWVudCwgaW4gY29sbGFib3JhdGlvbiB3aXRoIFJpZ3Nob3NwaXRhbGV0LUdsb3N0cnVwLg0KDQpUaGUgcHVycG9zZSBvZiB0aGlzIG5vdGVib29rIGlzIHRvIHByb3ZpZGUgcmVndWxhciByZXBvcnRzIG9uIHRoZSBkYXRhIGJlaW5nIHJlY29yZGVkIGZyb20gc3R1ZHkgcGFydGljaXBhbnRzLCB0byBjaGVjayB0aGF0IGl0IGlzIGJlaW5nIHJlY29yZGVkIGFuZA0KbG9va3MgYXMgZXhwZWN0ZWQuIFRoZSBSIHNjcmlwdCBpbXBvcnRzLCB0ZXN0cyBhbmQgcGxvdHMgZGF0YSBmcm9tIGEgc3BlY2lmaWVkIHBhcnRpY2lwYW50IGFuZCB0aW1lZnJhbWUsIGFzIHNob3duIGluIHRoZSBjb2RlIGFuZCBvdXRwdXQgYmVsb3cuDQoNCmBgYHtyIFNFVFVQLCBpbmNsdWRlPUZBTFNFfQ0KIyBTZXQgdGhlIGRyaXZlLCBsb2FkIHBhY2thZ2VzIGFuZCBmdW5jdGlvbnMuDQoNCnNldHdkKCJNOi9QaERfRm9sZGVyL0Nhc2VTdHVkaWVzL0RhdGFfYW5hbHlzaXMvc291cmNlIikNCg0KIyBMb2FkIHJlcXVpcmVkIHBhY2thZ2VzOg0KbGlicmFyeShkYXRhLnRhYmxlKQ0KbGlicmFyeShkdHBseXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShtYWdyaXR0cikNCmxpYnJhcnkobHVicmlkYXRlKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShyZXNoYXBlMikNCmxpYnJhcnkobWFwdG9vbHMpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkobWFwcykNCmxpYnJhcnkobWFwcHJvaikNCmxpYnJhcnkoc3ApDQpsaWJyYXJ5KGNhVG9vbHMpDQoNCiMgTG9hZCBjdXN0b20gZnVuY3Rpb25zOg0Kc291cmNlKCJKUlRfdXRpbHMuUiIpDQoNCiMgRGVmaW5lIGNvbnN0YW50czoNCmZvbGRlciA8LSAiLi4vLi4vRGF0YV9kdW1wcy9kdW1wX2N1cnJlbnRfYW5hbHlzaXMvIiAjIHBhdGggdG8gZm9sZGVyIHRoYXQgaG9sZHMgbXVsdGlwbGUgLmNzdiBmaWxlcywgZG93bmxvYWRlZCBmcm9tIG5pZ2h0aW5nYWxlIHdlYnBvcnRhbA0Kbm90LmluLnVzZSA8LSBjKCJibHVldG9vdGgiLCJoYXJkd2FyZV9pbmZvIiwid2VhcmFibGUiLCJ3aWZpIikNCmFjdGl2aXR5LnNlbGVjdGlvbiA8LSBjKCJTdGlsbCIsICJGb290IiwgIlZlaGljbGUiLCAiVGlsdGluZyIsICJCaWN5Y2xlIikgIyBtYWluIGFjdGl2aXR5IHR5cGVzDQp0b19wbG90IDwtIGMoImFjdGl2aXR5IiwgDQogICAgICAgICAgICAgImJhdHRlcnkiLCANCiAgICAgICAgICAgICAiZXhwcyIsIA0KICAgICAgICAgICAgICJsb2NhdGlvbiIsIA0KICAgICAgICAgICAgICJzY3JlZW4iLCANCiAgICAgICAgICAgICAic3RlcHMiKQ0KdXNlcnMgPC0gbGlzdChqdWxpYSA9ICI5M2E2ZDMxYy1lMjE2LTQ4ZDgtYTlhMi1mMmY3MjM2MjU0OGQiLA0KICAgICAgICAgICAgICBkZWFuID0gImIxMzE2MjgwLTM4YTYtNDVlMS05YmI5LTdhZmIyYTFhMmE5NiIsDQogICAgICAgICAgICAgIHBlciA9ICI3YmY1ZmVjMy1mNDZmLTQxOWUtOTU3My0wMDFmZTliNDdkODEiLA0KICAgICAgICAgICAgICB2ZXJlbmEgPSAiYTBjNzRhODgtYjI5My00YjMxLTkyYzAtOTY3NTAyYjI4MTMyIiwNCiAgICAgICAgICAgICAgYWd6YW0gPSAiNTIxNTJkZGEtMGY1NC00NmQxLWFmZmEtNmRlYTg1Zjg0MGRjIiwNCiAgICAgICAgICAgICAgYW5qYSA9ICIzNmY5ZDA2MS1jNWU5LTRmMzAtOTFiMi04MzM1MWZmNDAyODgiLA0KICAgICAgICAgICAgICAjUDAxRkEgPSAiNjMyMWY3ZWYtYTk1OC00NGFkLWI4ZTUtNWFhMDRiYzAwNGUxIiwNCiAgICAgICAgICAgICAgUDAzSkogPSAiZTlmNDRlYjUtODk2Mi00ODk0LTgzYzYtNzgzMDI1YzZlYWVhIiwNCiAgICAgICAgICAgICAgUDA2U1MgPSAiZjlmMjQ4MzgtYzg0NC00MmQ0LTgzNDMtYjIwZWJkZDIyMGYzIiwNCiAgICAgICAgICAgICAgUDA3TUcgPSAiNGZiZmRkZDAtYTM0Ni00MWM4LWJlOGQtZjg4MDRiNTA2OGQzIiwNCiAgICAgICAgICAgICAgUDA4VUggPSAiYTg1ZjI5OWUtN2EwOS00YmE3LWJjMTktOGEyMDBjMjY4NmMyIiwNCiAgICAgICAgICAgICAgUDEwSkwgPSAiZDA1ZmE5ODQtOGQzYi00NDA1LWI0MTctMjExZDFhM2Y1MGQ2IiwNCiAgICAgICAgICAgICAgUDEzTkIgPSAiNzVjYzUyNDAtNzgwNS00NTUwLWFlYWUtODczZGY5OTg0NzEwIikNCg0KYGBgDQoNCiMjIyBSZXBvcnQgc3ViamVjdCBhbmQgcGVyaW9kOg0KYGBge3IgU2V0dGluZ3MsIGVjaG89RkFMU0V9DQoNCiMgU2VsZWN0IHVzZXINCnVzZXJpZCA8LSB1c2VycyRQMTNOQg0KDQojIFNldCBwZXJpb2Qgb2YgaW50ZXJlc3QNCmQuc3RhcnQgPC0gYXMuUE9TSVhjdCgiMjAxOC0wNC0yNSIpICMgeXl5eS1tbS1kZCANCmQuc3RvcCA8LSBhcy5QT1NJWGN0KCIyMDE4LTA1LTA5IikNCg0KY2F0KCJUaGlzIHJlcG9ydCBpcyBmb3IgdXNlciAiLCBuYW1lcyh1c2Vyc1t1c2Vycz09dXNlcmlkXSksICJmb3IgdGhlIHRpbWUgcGVyaW9kIGZyb20gIiwgYXMuY2hhcmFjdGVyKGQuc3RhcnQpLCAiIHRvICIsIGFzLmNoYXJhY3RlcihkLnN0b3ApKSANCg0KYGBgDQoNCg0KIyMjIEltcG9ydCBhbmQgcmVzdHJ1Y3R1cmUgZGF0YToNCk92ZXJ2aWV3IG9mIGF2YWlsYWJsZSBjc3YgZmlsZXMgYW5kIHRoZWlyIGN1cnJlbnQgdXNlIHN0YXR1czoNCg0KRmlsZSB8IERlc2NyaXB0aW9uIHwgU3RhdHVzDQotLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0NCiJhY3Rpdml0eS5jc3YiIHwgY29kZWQgYWN0aXZpdHkgdHlwZXMgfCBpbiB1c2UNCiJiYXR0ZXJ5LmNzdiIgfCBjaGFyZ2luZyBsb2cgfCBpbiB1c2UNCiJibHVldG9vdGguY3N2IiB8IC0gfCBub3QgaW4gdXNlDQoiY2FsbGxvZy5jc3YiIHwgbG9nIG9mIHBob25lY2FsbHMgfCBub3QgaW4gdXNlDQoiZXhwZXJpZW5jZV9zYW1wbGluZy5jc3YiIHwgYW5zd2VycyB0byBkYWlseSBzZWxmLXJlcG9ydHMgfCBpbiB1c2UNCiJoYXJkd2FyZV9pbmZvLmNzdiIgfCAtIHwgbm90IGluIHVzZQ0KImxvY2F0aW9uLmNzdiIgfCBHUFMgZGF0YSBmcm9tIHdhdGNoIGFuZCBwaG9uZSB8IGluIHVzZQ0KInNjcmVlbi5jc3YiIHwgc2NyZWVuIG9uL29mZiB0cmFuc2l0aW9ucyAocGhvbmUpIHwgaW4gdXNlDQoic21zLmNzdiIgfCBzbXMgbG9nIHwgbm90IGluIHVzZQ0KInN0ZXBfY291bnQuY3N2IiB8IHN0ZXAgY291bnRzIGZyb20gd2F0Y2ggYW5kIHBob25lIHwgaW4gdXNlDQoid2VhcmFibGUuY3N2IiB8IC0gfCBubyBsb25nZXIgaW4gdXNlDQoid2lmaS5jc3YiICB8IC0gfCBub3QgaW4gdXNlDQoNClRoZSBvdXRwdXQgYmVsb3cgY29uZmlybXMgd2hpY2ggZmlsZXMgaGF2ZSBiZWVuIGltcG9ydGVkLCBmb2xsb3dlZCBieSBwcm9jZXNzaW5nIHN0ZXBzLg0KDQoNCmBgYHtyIEltcG9ydCwgZWNobz1GQUxTRX0NCmRhdGFzZXRzLmFsbCA8LSBnZXQuZGF0YShmb2xkZXIsIG5vdC5pbi51c2UpICU+JSANCiAgbGFwcGx5KHJlc3RydWN0dXJlLCB1c2VyaWQsIGQuc3RhcnQsIGQuc3RvcCkNCmRhdGFzZXRzLmFsbCA8LSBGaWx0ZXIoZnVuY3Rpb24oeCkgIWlzLm51bGwoeClbMV0sZGF0YXNldHMuYWxsKSAjIHJlbW92ZSBhbnkgbnVsbCBkYXRhZnJhbWVzDQoNCiN0ZXN0PC1maWx0ZXIoZGF0YXNldHMuYWxsJGFjdGl2aXR5LCB1c2VyPT0iZjlmMjQ4MzgtYzg0NC00MmQ0LTgzNDMtYjIwZWJkZDIyMGYzIikNCg0KYGBgDQoNCg0KIyMjIFF1YWxpdHkgY2hlY2s6IGRhdGEgc291cmNlDQpDaGVjayB3aGV0aGVyIGRhdGEgY29taW5nIGZyb20gd2F0Y2gsIHBob25lIG9yIGJvdGggKGFsc28gZ2l2ZXMgZGF0ZSBvZiBsYXN0IHJlYWRpbmcpLiANCg0KYGBge3IgUUMsIGVjaG89RkFMU0V9DQpmb3IgKGkgaW4gMTpsZW5ndGgoZGF0YXNldHMuYWxsKSl7DQogIGogPC0gZGF0YXNldHMuYWxsW1tpXV0NCiAgaWYoIWlzLm51bGwoaikpew0KICAgIGNhdCgiRGF0YSBpbiAiLG5hbWVzKGRhdGFzZXRzLmFsbClbaV0sImNvbWVzIGZyb20gIiwgZGlzdGluY3Qoaixkc291cmNlKVssMV0sIlxuIik7DQogICAgY2F0KCJMYXN0IHJlYWRpbmcgaW4iLG5hbWVzKGRhdGFzZXRzLmFsbClbaV0sImlzIG9uIixjYXB0dXJlLm91dHB1dChtYXgoaiR0aW1lc3RhbXApKSwiXG5cbiIpOw0KICB9DQp9DQpgYGANCg0KIyMgVmlzdWFsaXNlIGRhdGE6DQoNCjwhLS0gdG8gZG8gLS0+DQoNCjwhLS0gKiByZXNvbHZlIHdhcm5pbmdzIC0tPg0KPCEtLSAqIGN1c3RvbWlzZSBjb2xvdXJzIC0tPg0KPCEtLSAqIGF4ZXMgd2l0aCBkYXRlczogb3JkZXJzIG5vdCBpbiB0aW1lLCBqYW51YXJ5IGFmdGVyIGZlYiAob3JkZXJlZCBieSBkYXkgbm90IHRha2luZyBtb250aCBpbnRvIGFjY291bnQpIC0tPg0KDQpgYGB7ciBQbG90cywgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRX0NCnJlc3VsdHM8LXNob3dfcGxvdHMoZGF0YXNldHMuYWxsLCB0b19wbG90KQ0KZm9yKGkgaW4gMTpsZW5ndGgocmVzdWx0cykpew0KICBwcmludChyZXN1bHRzW1tpXV0pDQp9DQoNCmBgYA0KDQo=